﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MS.InformationManagement.Support.Constants
{
    public static class GlobalConstants
    {
        #region Service Names

        public const string METADATA_SERVICE_NAME = "Metadata Service Name";
        public const string METADATA_GROUP_NAME = "Documents Metadata";
        public const string METADATA_TERM_STATUS = "Estado";
        public const string METADATA_TERM_CATEGORY = "Categoría";
        public const string METADATA_TERM_COUNTRY = "Paises";
        public const string METADATA_TERM_DEPARTAMENTOS = "Departamentos";
        public const string METADATA_TERM_TIPOS = "Tipo";


        public const string METADATA_TERM_STATUS_CERRADO = "Cerrado";
        public const string METADATA_TERM_STATUS_PROCESO = "Proceso";
        public const string METADATA_TERM_STATUS_RADICADO = "Radicado";
        public const string METADATA_TERM_STATUS_SIN_RADICADO = "Sin Radicar";
        public const string METADATA_TERM_STATUS_SOLICITUD_ANULAR = "PendienteAnulacion";
        public const string METADATA_TERM_STATUS_ANULADO = "Anulado";
        public const string METADATA_TERM_STATUS_CAPTURED = "Digitalizado";
        public const string METADATA_TERM_STATUS_SENT = "Enviado";
        public const string METADATA_TERM_STATUS_DELIVERED = "Recibido";


        public const string METADATA_TERM_CATEGORY_AGENDADO = "Agendado";
        public const string METADATA_TERM_CATEGORY_IMPORTANTE = "Importante";
        public const string METADATA_TERM_CATEGORY_PENDIENTE = "Pendiente";
        public const string METADATA_TERM_CATEGORY_VOBO = "VB";
        public const string METADATA_TERM_CATEGORY_RESPONDED = "Respondido";


        public const string METADATA_TERM_TIPO_RADICADO_SALIDA = "Radicado Salida";
        public const string METADATA_TERM_TIPO_RADICADO_ENTRADA = "Radicado Entrada";
        public const string METADATA_TERM_TIPO_SIN_RADICADO = "Sin Radicado";
        public const string METADATA_TERM_TIPO_VB = "V.B.";
        public const string METADATA_TERM_TIPO_INFORMADO = "Informado";
        public const string METADATA_TERM_TIPO_INTERNO = "Radicado Interno";
        public const string METADATA_TERM_TIPO_EXPEDIENTE = "Expediente";

        #endregion

        #region Lists Names

        public const string LIBRARY_MAIL_TEMPLATES = "Plantillas de Notificaciones";
        public const string LIST_CONFIGURATION = "Configuration Elements";
        public const string LIST_SENDERS = "Contactos Externos";
        public const string LIST_BIBLIOTECA_USUARIO = "Biblioteca Usuario";
        public const string LIST_BIBLIOTECA_TRD = "Configuración Tabla de Retención Documental";
        public const string LIST_BIBLIOTECA_SECCION = "Secciones";
        public const string LIST_BIBLIOTECA_SUBSECCION = "Subsecciones";
        public const string LIST_BIBLIOTECA_SERIE = "Series";
        public const string LIST_BIBLIOTECA_FONDO = "Fondos";
        public const string LIST_BIBLIOTECA_SUBSERIE = "Subseries";
        public const string LIST_BIBLIOTECA_TIPOS_DOCUMENTALES = "Tipos Documentales";
        public const string LIST_BIBLIOTECA_TEMPLATES = "Templates Globales";
        public const string LIST_ROLES = "Roles";
        public const string LIST_ASIGNAR_ROLES = "Asignar Rol";
        public const string LIST_PERFILES_ROL = "Perfiles";
        public const string LIST_SOLICITUD_ANULADOS = "Solicitudes de Anulacion";
        public const string LIST_ANULADOS = "Anulados";
        public const string LIST_PRESTAMOS = "Solicitud de Prestamos";
        public const string LIST_ACTAS_DE_ANULACION = "Actas de anulacion";
        public const string LIST_TEMPLATE_REPORTES = "Templates reportes";
        public const string LIST_RADICADOS_ENTRANTES = "Radicados Entrantes";
        public const string LIST_MEDIOS_DE_ENVIO = "Medios de Envio";
        public const string LIST_GUIAS_DE_ENVIO = "Guías de envío";
        public const string LIST_DOCUMENTOS_IMPRESOS = "Documentos Impresos";
        public const string LIST_DOCUMENTOS_VENTANILLA = "Documents Recibidos Ventanilla";
        public const string LIST_ENVIOS = "Envios de Correo";
        public const string LIST_PLANILLAS = "Planillas Envio";
        public const string LIST_MOTIVOS_ENVIOS_DEVOLUCION = "Motivos de devolución";
        public const string LIST_PUBLIC_PAGES = "Paginas Acceso Publico";
        public const string LIST_TOMOS = "Tomos";
        public const string LIST_DISTRIBUCION = "Distribucion";

        #endregion

        #region Controls

        public const string DDL_INITIAL_STATE = "--- SELECCIONE ---";
        public const string DDL_INITIAL_STATE_COUNTRY = "--- SELECCIONE PAÍS ---";
        public const string DDL_INITIAL_STATE_STATE = "--- SELECCIONE DEPARTAMENTO ---";
        public const string DDL_INITIAL_STATE_CITY = "--- SELECCIONE CIUDAD ---";
        public const string DDL_INITIAL_SERIE = "--- SELECCIONE SERIE ---";
        public const string DDL_INITIAL_SUBSERIE = "--- SELECCIONE SUBSERIE ---";
        public const string DDL_INITIAL_SECTION = "--- SELECCIONE SECCIÓN ---";
        public const string DDL_INITIAL_DOCUMENT_TYPE = "--- SELECCIONE TIPO DOCUMENTAL ---";
        public const string DDL_INITIAL_SUBSECTION = "--- SELECCIONE SUBSECCIÓN ---";
        public const string DDL_INITIAL_TEMPLATE = "--- SELECCIONE TEMPLATE ---";
        public const string DDL_INITIAL_RECEPCION = " -- SELECCIONE TIPO RECEPCIÓN --";

        #endregion

        #region ContentType Names

        public const string CTTN_RADICADO_INTERNO = "Radicado Interno";
        public const string CTTN_RADICADO_PERSONA = "Radicado Persona";
        public const string CTTN_RADICADO_EMPRESA = "Radicado Empresa";
        public const string CTTN_RADICADO_EMPRESA_SALIDA = "Radicado Empresa Salida";
        public const string CTTN_RADICADO_PERSONA_SALIDA = "Radicado Persona Salida";
        public const string CTTN_VOBO = "Solicitud VB";
        public const string CTTN_ARCHIVE = "Archivo";
        public const string CTTN_PEOPLE = "Personas";
        public const string CTTN_ENTITY = "Entidades";
        public const string CTTN_INFORMATION = "Solicitud Informar";
        public const string CTTN_ASIGNAR_ROLE = "Asignar Rol";
        public const string CTTN_ROLE = "ROLES";
        public const string CTTN_PERFILES_ROL = "Vincular Perfiles";
        public const string CTTN_EXPEDIENTE = "Expediente";
        public const string CTTN_DOCUMENT_LINK = "Documento Link";
        public const string CTTN_COPIAS_RADICADO = "Copia radicado";
        public const string CTTN_FONDO = "Fondo";
        public const string CTTN_SECCION = "Seccion";
        public const string CTTN_SERIE = "Serie";
        public const string CTTN_SUBSERIE = "Subserie";        

        #endregion

        #region ContentType IDS

        public const string CTID_DOCUMENTAL_TYPE = "0x0101007045e28aa3084979bf2513d1cfd6d4f5";

        #endregion

        #region TemplateNames

        public const string TEMPLATE_USER_LIBRARY = "User Documents";

        #endregion

        #region Success Messages

        public const string SUCCESS_UPDATE_RADICADO = "Radicado Actualizado Exitosamente";
        public const string SUCCESS_MOVETO_RADICADO = "El radicado {0} ha sido reasignado";
        public const string FAIL_MOVETO_RADICADO_DISTRIBUCION = "El radicado {0} no puede ser reasignado porque no ha sido distribuido";
        public const string FAIL_MOVETO_RADICADO_SALIDA = "Recuerde que los radicados de salida no pueden ser reasignados";
        public const string SUCCESS_UPLOADED_FILES = "Documentos cargados exitosamente";
        public const string SUCCESS_CONTACT_SAVE = "Nuevo contacto almacenado exitosamente";
        public const string SUCCESS_CONTACT_UPDATED = "Contacto actualizado exitosamente";
        public const string SUCCESS_USER_UPDATE = "Usuario actualizado exitosamente";
        public const string SUCCESS_RADICADO_ASSOCIATION = "El radicado {0} ha sido cargado al expediente {1}";
        public const string SUCCESS_RADICADO_RESPONSE = "El radicado {0} ha sido cargado como respuesta al radicado {1} en el expediente {2}";
        public const string SUCCESS_RADICADO_CREATION_GUIDE = "El radicado {0} con guía {1} se ha creado exitosamente";
        public const string SUCCESS_RADICADO_CREATION = "El radicado {0} con número de radicado {1} se ha creado exitosamente";

        #endregion

        #region User Profile Properties

        public const string UP_DEPARTMENT = "User-Department";
        public const string UP_ACCOUNT = "AccountName";
        public const string UP_USER_PERFIL = "User-Perfil";
        public const string UP_CEDULA = "User-Id";
        public const string UP_FIRST_NAME = "FirstName";
        public const string UP_LAST_NAME = "LastName";
        public const string UP_BIRTHDAY = "SPS-Birthday";
        public const string UP_WORK_PHONE = "WorkPhone";
        public const string UP_OFFICE_lOCATION = "SPS-Location";
        public const string UP_EMAIL = "WorkEmail";
        public const string UP_PAIS = "User-Pais";


        #endregion

        #region Grupos

        public const string GRP_USUARIOS_DOCS_USUARIOS_READERS = "Sitio de documentos de usuario Members";
        public const string GRP_USUARIOS_RECORDS_USUARIOS_READERS = "Sitio de documentos de records Members";
        public const string GRP_GLOBAL_CONTRIBUTORS = "CONTRIBUYENTES GESTION DOCUMENTAL";

        #endregion

        #region Roles

        #region Default System Roles

        public static readonly String ROLE_RADICADO_ENTRADA = "RADICACIÓN DE ENTRADA";
        public static readonly String ROLE_UPLOAD_FILE = "ELABORAR NUEVO DOCUMENTO";
        public static readonly String ROLE_RADICADO_INTERNO = "RADICACIÓN INTERNA";
        public static readonly String ROLE_RADICADO_SALIDA = "RADICACIÓN DE SALIDA";
        public static readonly String ROLE_SCHEDULER = "VER AGENDA";
        public static readonly String ROLE_REASIGNAR = "REASIGNAR DOCUMENTOS";
        public static readonly String ROLE_VB = "ENVIAR DOCUMENTOS PARA VB";
        public static readonly String ROLE_DOCUMENT_RECEPTION = "RECEPCION RADICADOS";
        public static readonly String ROLE_INFORM = "INFORMAR DOCUMENTO";
        public static readonly String ROLE_SOLICITAR_ANULACION = "SOLICITUD DE ANULACIONES";
        public static readonly String ROLE_GESTION_EXPEDIENTE = "GESTION EXPEDIENTES";
        public static readonly String ROLE_SCHEDULE_DOCS = "AGENDAR RADICADOS";
        public static readonly String ROLE_ADMINISTRATION = "ADMINISTRACION";
        public static readonly String ROLE_SOLICITUD_PRESTAMOS = "SOLICITUD PRESTAMOS";
        public static readonly String ROLE_INCLUIR_EXPEDIENTE = "INCLUIR EN EXPEDIENTE";
        public static readonly String ROLE_ADMINISTRAR_FONDOS = "ADMINISTRAR FONDOS";
        public static readonly String ROLE_ADMINISTRAR_SECCIONES = "ADMINISTRAR SECCIONES";
        public static readonly String ROLE_ADMINISTRAR_SERIES = "ADMINISTRAR SERIES";
        public static readonly String ROLE_ADMINISTRAR_SUBSERIES = "ADMINISTRAR SUBSERIES";
        public static readonly String ROLE_ADMINISTRAR_TIPOS_DOCUMENTALES = "ADMINISTRAR TIPOS DOCUMENTALES";
        public static readonly String ROLE_ADMINISTRAR_TRD = "ADMINISTRAR TRD";
        public static readonly String ROLE_LISTADO_RADICADOS_ANULADOS = "ADMINISTRACION ANULADOS";
        public static readonly String ROLE_SCANNING = "DIGITALIZACION";
        public static readonly String ROLE_CONTACTS = "CONTACTOS";

        public static readonly String ROLE_IMPRESION = "IMPRESION";
        public static readonly String ROLE_ENVIAR_DOCUMENTOS = "ENVIO DOCUMENTOS";
        public static readonly String ROLE_DEVOLUCIONES = "DEVOLUCIONES";
        public static readonly String ROLE_DISTRIBUCION_PENDIENTE = "DISTRIBUCION";
        public static readonly String ROLE_MIS_DEVOLUCIONES = "MIS DEVOLUCIONES";

        public static readonly String ROLE_ID_RADICADO_ENTRADA = "Ribbon.MicrosoftInformationManagementTab.BasedGroup.Input";
        public static readonly String ROLE_ID_UPLOAD_FILE = "Ribbon.MicrosoftInformationManagementTab.BasedGroup.TemplateGenerator";
        public static readonly String ROLE_ID_RADICADO_INTERNO = "Ribbon.MicrosoftInformationManagementTab.BasedGroup.Output";
        public static readonly String ROLE_ID_RADICADO_SALIDA = "Ribbon.MicrosoftInformationManagementTab.BasedGroup.RadicadoSalida";
        public static readonly String ROLE_ID_SCHEDULER = "Ribbon.MicrosoftInformationManagementTab.DocumentSchedulingGroup.ViewSchedule";
        public static readonly String ROLE_ID_REASIGNAR = "Ribbon.MicrosoftInformationManagementTab.DocumentActions.MoveDocument";
        public static readonly String ROLE_ID_VB = "Ribbon.MicrosoftInformationManagementTab.DocumentActions.ApproveDocument";
        public static readonly String ROLE_ID_INFORM = "Ribbon.MicrosoftInformationManagementTab.DocumentActions.InformDocument";
        public static readonly String ROLE_ID_RECEPTION = "Ribbon.MicrosoftInformationManagementTab.BasedGroup.Reception";
        public static readonly String ROLE_ID_SOLICITAR_ANULACION = "Ribbon.MicrosoftInformationManagementTab.BasedGroup.SolicitudAnulacion";
        public static readonly String ROLE_ID_GESTION_EXPEDIENTE = "Ribbon.MicrosoftInformationManagementTab.BasedGroup.Expediente";
        public static readonly String ROLE_ID_SCHEDULEDOCUMENT = "Ribbon.MicrosoftInformationManagementTab.DocumentSchedulingGroup.ScheduleDocument";
        public static readonly String ROLE_ID_ADMINISTRATION = "Ribbon.MicrosoftInformationManagementTab.AdminGroup";
        public static readonly String ROLE_ID_SOLICITUD_PRESTAMO = "Ribbon.MicrosoftInformationManagementTab.BasedGroup.Prestamos";
        public static readonly String ROLE_ID_INCLUIR_EXPEDIENTE = "Ribbon.MicrosoftInformationManagementTab.DocumentActions.AddToRecord";
        public static readonly String ROLE_ID_ADMINISTRAR_FONDOS = "Ribbon.MicrosoftInformationManagementTab.TRD.Fondos";
        public static readonly String ROLE_ID_ADMINISTRAR_SECCIONES = "Ribbon.MicrosoftInformationManagementTab.TRD.Seccion";
        public static readonly String ROLE_ID_ADMINISTRAR_SERIES = "Ribbon.MicrosoftInformationManagementTab.TRD.Series";
        public static readonly String ROLE_ID_ADMINISTRAR_SUBSERIES = "Ribbon.MicrosoftInformationManagementTab.TRD.Subseries";
        public static readonly String ROLE_ID_ADMINISTRAR_TIPOS_DOCUMENTALES = "Ribbon.MicrosoftInformationManagementTab.TRD.DocumentalType";
        public static readonly String ROLE_ID_ADMINISTRAR_TRD = "Ribbon.MicrosoftInformationManagementTab.TRD.TRD";
        public static readonly String ROLE_ID_LISTADO_RADICADOS_ANULADOS = "Ribbon.MicrosoftInformationManagementTab.Anulados.Anulacion";
        public static readonly String ROLE_ID_SCANNING = "Ribbon.MicrosoftInformationManagementTab.Scanning.Capture";

        public static readonly String ROLE_ID_CONTACTS = "Ribbon.MicrosoftInformationManagementTab.BasedGroup.Contacts";

        public static readonly String ROLE_ID_IMPRIMIR_DOCUMENTO = "Ribbon.MicrosoftInformationManagementTab.BasedGroup.Print";
        public static readonly String ROLE_ID_ENVIAR_DOCUMENTOS = "Ribbon.InformationManagementTabMailDelivery.Deliveries.SendMail";
        public static readonly String ROLE_ID_DEVOLUCIONES = "Ribbon.InformationManagementTabMailDelivery.Deliveries.Return";
        public static readonly String ROLE_ID_DISTRIBUCION = "Ribbon.InformationManagementTabMailDelivery.Deliveries.DeliverySheets";
        public static readonly String ROLE_ID_MIS_DEVOLUCIONES = "Ribbon.MicrosoftInformationManagementTab.DocumentShipping.Envios";
        #endregion

        #endregion

        #region [File Extensions]

        public const string WORD_LEGACY = "doc";
        public const string WORD = "docx";
        public const string EXCEL_LEGACY = "xls";
        public const string EXCEL = "xlsx";
        public const string POWERPOINT_LEGACY = "ppt";
        public const string POWERPOINT = "pptx";
        public const string JPG = "jpg";
        public const string JPEG = "jpeg";

        #endregion

        #region Global Messages

        public const string MESSAGE_RADICADO_ANEXO = "Este radicado se asocia como respuesta al radicado {0}";
        public const string MESSAGE_RADICADO_ASOCIATION = "Este radicado se asocia al expediente del radicado {0}";

        #endregion

        #region Global

        public const int RAD_TYPE_STRUCTURE_FIELD_ID = 1;

        public const int RAD_TYPE_STRUCTURE_CONSECUTIVE_LENGTH = 6;

        public const string GLOBAL_USER_LIBRARY_TEMPLATE = "10008";

        #endregion

        #region Configracion

        public const string AUTOSELECCIONAR_UBICACION = "AUTOSELECCIONAR UBICACION";
        public const string AUTOSELECCIONAR_UBICACION_VALOR = "AUTOSELECCIONAR UBICACION VALOR";
        public const string DIAS_DE_PRESTAMOS_RADICADOS_EXPEDIENTES = "Días de préstamo radicado-expediente";
        public const string SITE_RECORDS_URL = "URL RECORDS SITE";
        public const string ENTITY_NAME = "NOMBRE ENTIDAD";
        public const string TRAZA_ERRORES = "TRAZA ERRORES";
        public const string USA_CON_COPIA = "USA CON COPIA";
        public const string NOTIFICACION_ASUNTO_ENTRADA_SIN_TIPIFICAR = "ASUNTO ENTRADA SIN TIPIFICAR";
        public const string NOTIFICACION_ASUNTO_ENTRADA_TIPIFICADO = "ASUNTO ENTRADA TIPIFICADO";
        public const string NOTIFICACION_ASUNTO_REASIGNACION_SIN_TIPIFICAR = "ASUNTO REASIGNACION SIN TIPIFICAR";
        public const string NOTIFICACION_ASUNTO_REASIGNACION_TIPIFICADO = "ASUNTO REASIGNACION TIPIFICADO";
        public const string NOTIFICACION_ASUNTO_INFORMAR = "ASUNTO INFORMAR";
        public const string VALIDAR_CREDENCIALES_FRENTE_ACTIVE_DIRECTORY = "VALIDAR CREDENCIALES FRENTE AL ACTIVE DIRECTORY";

        #endregion

        #region Templates de Notificacion

        public const string NOTIFICACION_TEMPLATE_ENTRADA_SIN_TIPIFICAR = "RadicadoEntradaSinTipificar";
        public const string NOTIFICACION_TEMPLATE_ENTRADA_TIPIFICADO = "RadicadoEntradaTipificadoConVencimiento";
        public const string NOTIFICACION_TEMPLATE_REASIGNACION_SIN_TIPIFICAR = "ReasignadoSinVencimiento";
        public const string NOTIFICACION_TEMPLATE_REASIGNACION_TIPIFICADO = "ReasignadoConVencimiento";
        public const string NOTIFICACION_TEMPLATE_INFORMAR = "Informado";  

        #endregion

        #region Association Url

        public const string URL_ADDRESPONSETOEXPEDIENTE = "remitenteID=-1&associtedids={0}&associatedaction={1}&hiddesearchbutton={2}";

        #endregion

        #region form urls

        public const string  URL_RADICADO_INCOMING = "/sites/docs/_layouts/MS.InformationManagement.WP/InsertarRadicado.aspx";
        public const string  URL_RADICADO_OUTCOMING = "/sites/docs/_layouts/MS.InformationManagement.WP/InsertarRadicadoSalida.aspx";
        public const string  URL_RADICADO_INTERNAL = "/sites/docs/_layouts/MS.InformationManagement.WP/RadicadoInterno.aspx";

        #endregion

        #region TemplateReports

        public const string TEMPLATE_REPORT_ACTA_ANULACION = "ActaAnulacion.docx";

        #endregion

        #region Etiquetas documentos de office

        public const string ETIQUETA_ID_RADICADO = "##NumeroRadicado";
        public const string ETIQUETA_FECHA_SYSTEMA = "##FechaActual";
        public const string ETIQUETA_CON_COPIA = "##ConCopia";

        #endregion

        #region Caml Field Types

        public const string CAML_FIELD_TYPE_ITEM_FIELD = "FieldRef"; 

        #endregion

        #region Columnas de contactos en Archivo de cargue
        public const string CAR_CONTACTOS_DOCS_PERSONAS_CEDULA = "Cedula";
        public const string CAR_CONTACTOS_DOCS_PERSONAS_NOMBRES = "Nombres";
        public const string CAR_CONTACTOS_DOCS_PERSONAS_PAPELLIDO = "Primer Apellido";
        public const string CAR_CONTACTOS_DOCS_PERSONAS_SAPELLIDO = "Segundo Apellido";
        public const string CAR_CONTACTOS_DOCS_PERSONAS_DIRECCION = "Dirección";
        public const string CAR_CONTACTOS_DOCS_PERSONAS_TELEFONO = "Teléfono";
        public const string CAR_CONTACTOS_DOCS_PERSONAS_EMAIL = "Email";
        public const string CAR_CONTACTOS_DOCS_ENTIDADES_NIT = "Nit";
        public const string CAR_CONTACTOS_DOCS_ENTIDADES_RAZON_SOCIAL = "Razon Social";
        public const string CAR_CONTACTOS_DOCS_ENTIDADES_REPRESENTANTE = "Representante";
        public const string CAR_CONTACTOS_DOCS_ENTIDADES_SIGLAS = "Siglas";
        public const string CAR_CONTACTOS_DOCS_ENTIDADES_DIRECCION = "Direccion";
        public const string CAR_CONTACTOS_DOCS_ENTIDADES_TELEFONO = "Telefono";
        public const string CAR_CONTACTOS_DOCS_ENTIDADES_EMAIL = "Email";

        #endregion

    }
}
